﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace jgsSystem
{
    public partial class geren_Funcionarios : Form
    {
        public geren_Funcionarios()
        {
            InitializeComponent();
        }
        int escolha = 0;
        String lancamento;
        public void inicialicomponentes()
        {
            pnVisualizar.Visible = false;
            dgFuncionarios.Visible = true;

        }


        


        public void textboxHabilita()
        {
            tbNome.Visible = true;
            cbSexo.Visible = true;
            tbEndereco.Visible = true;
            tbBairro.Visible = true;
            tbComplemento.Visible = true;
            tbCidade.Visible = true;
            cbEstado.Visible = true;
            mktCep.Visible = true;
            tbTelefone.Visible = true;
            tbUser.Visible = true;
            tbSenha.Visible = true;
            mktNascimento.Visible = true;
        }


        public void labelHabilita()
        {
            lbNome.Visible = true;
            lbSexo.Visible = true;
            lbEndereco.Visible = true;
            lbBairro.Visible = true;
            lbEstado.Visible = true;
            lbCidade.Visible = true;
            lbEstado.Visible = true;
            lbCep.Visible = true;
            lbTelefone.Visible = true;
            lbComplemento.Visible = true;
            lbData.Visible = true;
            lbUser.Visible = true;
            lbSenha.Visible = true;
         
        }

        public void textboxDesabilita()
        {
            tbNome.Visible = false;
            cbSexo.Visible = false;
            tbEndereco.Visible = false;
            tbBairro.Visible = false;
            tbComplemento.Visible = false;
            tbCidade.Visible = false;
            cbEstado.Visible = false;
            mktCep.Visible = false;
            tbTelefone.Visible = false;
            tbUser.Visible = false;
            tbSenha.Visible = false;
            mktNascimento.Visible = false;
        }


        public void labelDesabilita()
        {
            lbNome.Visible = false;
            lbSexo.Visible = false;
            lbEndereco.Visible = false;
            lbBairro.Visible = false;
            lbEstado.Visible = false;
            lbCidade.Visible = false;
            lbEstado.Visible = false;
            lbCep.Visible = false;
            lbTelefone.Visible = false;
            lbData.Visible = false;
            lbUser.Visible = false;
            lbSenha.Visible = false;

        }

        public void botoes()
        {
            btnVisualizar.Enabled = true;
            btnAlterar.Enabled = true;
            btnExcluir.Enabled = true;
            pnPesquisar.Enabled = true;
            btnSalvar.Visible = false;
            btnNovo.Enabled = true;



            btnNovo.BackColor = Color.WhiteSmoke;
            btnVisualizar.BackColor = Color.WhiteSmoke;
            btnAlterar.BackColor = Color.WhiteSmoke;
            btnExcluir.BackColor = Color.WhiteSmoke;
            pnPesquisar.BackColor = Color.WhiteSmoke;
            btnSalvar.BackColor = Color.WhiteSmoke;
            btnNovo.BackColor = Color.WhiteSmoke;
            btnLimpar.BackColor = Color.WhiteSmoke;
            btnVoltar.BackColor = Color.WhiteSmoke;
            btnLimpar.Visible = false;

        }


        public void limpa()
        {
            tbNome.Text = "";
            cbSexo.Text = "";
            tbEndereco.Text = "";
            tbBairro.Text = "";
            tbComplemento.Text = "";
            tbCidade.Text = "";
            cbEstado.Text = "";
            mktCep.Text = "";
            tbTelefone.Text = "";
            tbUser.Text = "";
            tbSenha.Text = "";
            mktNascimento.Text = "";
            



            lbNome.Text = "";
            lbSexo.Text = "";
            lbEndereco.Text = "";
            lbBairro.Text = "";
            lbEstado.Text = "";
            lbCidade.Text = "";
            lbEstado.Text = "";
            lbCep.Text = "";
            lbTelefone.Text = "";
            lbComplemento.Text = "";
            lbData.Text = "";
            lbUser.Text = "";
            lbSenha.Text = "";
           

        }

        public void atualiza()
        {


            Conexao querys = new Conexao();
            querys.selecao("select * from funcionario;");
            SqlDataAdapter i = querys.getSelect();
            DataTable da = new DataTable();
            i.Fill(da);


            this.dgFuncionarios.DataSource = da;

            comboBox1.DataSource = da;
            comboBox1.DisplayMember = "Codigo";
            comboBox1.ValueMember = "Codigo";


            comboBox2.DataSource = da;
            comboBox2.DisplayMember = "Nome";
            comboBox2.ValueMember = "Nome";

            comboBox3.DataSource = da;
            comboBox3.DisplayMember = "sexo";
            comboBox3.ValueMember = "sexo";

            comboBox4.DataSource = da;
            comboBox4.DisplayMember = "Endereco";
            comboBox4.ValueMember = "Endereco";

            comboBox5.DataSource = da;
            comboBox5.DisplayMember = "Bairro";
            comboBox5.ValueMember = "Bairro";

            comboBox6.DataSource = da;
            comboBox6.DisplayMember = "complemento";
            comboBox6.ValueMember = "complemento";

            comboBox7.DataSource = da;
            comboBox7.DisplayMember = "cidade";
            comboBox7.ValueMember = "cidade";

            comboBox8.DataSource = da;
            comboBox8.DisplayMember = "estado";
            comboBox8.ValueMember = "estado";

            comboBox9.DataSource = da;
            comboBox9.DisplayMember = "cep";
            comboBox9.ValueMember = "cep";

            comboBox10.DataSource = da;
            comboBox10.DisplayMember = "telefone";
            comboBox10.ValueMember = "telefone";

            comboBox11.DataSource = da;
            comboBox11.DisplayMember = "usuario";
            comboBox11.ValueMember = "usuario";

            comboBox12.DataSource = da;
            comboBox12.DisplayMember = "senha";
            comboBox12.ValueMember = "senha";


            comboBox13.DataSource = da;
            comboBox13.DisplayMember = "datanascimento";
            comboBox13.ValueMember = "datanascimento";


        }
        private void geren_Funcionarios_Load(object sender, EventArgs e)
        {
            // TODO: This line of code loads data into the 'funcionariorelatorio.funcionario' table. You can move, or remove it, as needed.
            this.funcionarioTableAdapter.Fill(this.funcionariorelatorio.funcionario);
            atualiza();
            botoes();
            btnSalvar.Visible = false;
            btnLimpar.Visible = false;
            pnVisualizar.Visible = false;
            btnVoltar.Visible = false;
        }

        private void btnVisualizar_Click(object sender, EventArgs e)
        {
            if (comboBox1.Text == "")
            {
                MessageBox.Show("Atenção não há Funcionários para serem visualizados", "Aviso do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                pnVisualizar.Visible = true;

                textboxDesabilita();
                labelHabilita();


                lbNome.Text = comboBox2.Text;
                lbSexo.Text = comboBox3.Text;
                lbEndereco.Text = comboBox4.Text;
                lbBairro.Text = comboBox5.Text;
                lbComplemento.Text = comboBox6.Text;
                lbCidade.Text = comboBox7.Text;
                lbEstado.Text = comboBox8.Text;
                lbCep.Text = comboBox9.Text;
                lbTelefone.Text = comboBox10.Text;
                lbUser.Text = comboBox11.Text;
                lbSenha.Text = comboBox12.Text;
                lbData.Text = comboBox13.Text;


                btnNovo.Enabled = false;
                btnExcluir.Enabled = false;
                pnPesquisar.Enabled = false;
                btnSalvar.Visible = false;
                btnAlterar.Enabled = false;
                btnVisualizar.BackColor = Color.LightBlue;
                btnLimpar.Visible = false;
                btnVisualizar.Enabled = false;
                btnVoltar.Visible = true;
            }
        }
        private void btnNovo_Click(object sender, EventArgs e)
        {
            escolha = 1;
            pnVisualizar.Visible = true;
            limpa();

            //desabilitar e habilitar demais botões
            btnVisualizar.Enabled = false;
            btnAlterar.Enabled = false;
            btnExcluir.Enabled = false;
            pnPesquisar.Enabled = false;
            btnSalvar.Visible = true;
            btnNovo.Enabled = false;
            btnNovo.BackColor = Color.LightBlue;
            btnLimpar.Visible = true;
            labelDesabilita();
            textboxHabilita();
            btnVoltar.Visible = true;
        }

        private void label18_Click(object sender, EventArgs e)
        {

        }

        private void btnLimpar_Click(object sender, EventArgs e)
        {
            limpa();
        }

        private void button1_Click(object sender, EventArgs e)
        {

            if (radioButton1.Checked == true)
            {

                Conexao querys = new Conexao();
                querys.selecao("select * from funcionario where NOME like '%" + tbPesquisa.Text + "%';");
                SqlDataAdapter i = querys.getSelect();
                DataTable da = new DataTable();
                i.Fill(da);





                this.dgFuncionarios.DataSource = da;


            }

            else if (radioButton2.Checked == true)
            {

                Conexao querys = new Conexao();
                querys.selecao("select * from funcionario where endereco like '%" + tbPesquisa.Text + "%';");
                SqlDataAdapter i = querys.getSelect();
                DataTable da = new DataTable();
                i.Fill(da);





                this.dgFuncionarios.DataSource = da;

            }





            else if (radioButton3.Checked == true)
            {

                Conexao querys = new Conexao();
                querys.selecao("select * from funcionario ;");
                SqlDataAdapter i = querys.getSelect();
                DataTable da = new DataTable();
                i.Fill(da);


                this.dgFuncionarios.DataSource = da;


            }
        }

        private void btnExcluir_Click(object sender, EventArgs e)
        {
            if (comboBox1.Text == "")
            {
                MessageBox.Show("Atenção não há Funcionários para serem excluídos", "Aviso do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                DialogResult result;


                result = MessageBox.Show("Tem certeza que deseja excluir " + comboBox2.Text, "Aviso do Sistema", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);

                if (result == System.Windows.Forms.DialogResult.OK)
                {


                    Conexao excluir = new Conexao();
                    excluir.insert("delete  from funcionario where Codigo = '" + comboBox1.Text + "';");
                    MessageBox.Show("Cliente excluído com Sucesso", "Exclusão de Funcionários", MessageBoxButtons.OK);
                    int cont = 0;
                    if (cont == 0)
                    {
                        Conexao querys2 = new Conexao();
                        querys2.selecao("select * from funcionario;");
                        SqlDataAdapter i = querys2.getSelect();
                        DataTable da2 = new DataTable();
                        i.Fill(da2);


                        this.dgFuncionarios.DataSource = da2;
                        atualiza();
                    }
                }
            }
        }

        private void btnAlterar_Click(object sender, EventArgs e)
        {
            if (comboBox1.Text == "")
            {
                MessageBox.Show("Atenção não há Funcionários para serem alterados", "Aviso do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                pnVisualizar.Visible = true;
                labelDesabilita();
                textboxHabilita();

                tbNome.Text = comboBox2.Text;
                cbSexo.Text = comboBox3.Text;
                tbEndereco.Text = comboBox4.Text;
                tbBairro.Text = comboBox5.Text;
                tbComplemento.Text = comboBox6.Text;
                tbCidade.Text = comboBox7.Text;
                cbEstado.Text = comboBox8.Text;
                mktCep.Text = comboBox9.Text;
                tbTelefone.Text = comboBox10.Text;
                tbUser.Text = comboBox11.Text;
                tbSenha.Text = comboBox12.Text;
                mktNascimento.Text = comboBox13.Text;
                btnVoltar.Visible = true;
                escolha = 2;


                //desabilitar e habilitar demais botões
                btnVisualizar.Enabled = false;
                btnNovo.Enabled = false;
                btnExcluir.Enabled = false;
                pnPesquisar.Enabled = false;
                btnSalvar.Visible = true;
                btnAlterar.Enabled = false;
                btnAlterar.BackColor = Color.LightBlue;
                btnLimpar.Visible = true;

            }

        }

        private void btnVoltar_Click(object sender, EventArgs e)
        {
            inicialicomponentes();
            textboxDesabilita();
            labelDesabilita();
            botoes();
            btnVoltar.Visible = false;
        }

        private void btnSalvar_Click(object sender, EventArgs e)
        {
            DialogResult result;
            if (escolha == 1)
            {
                if (tbUser.Text != "" || tbSenha.Text != "")
                {
                    if (tbUser.TextLength >= 5 | tbSenha.TextLength >= 5)
                    {
                        result = MessageBox.Show("Cadastrar Funcionário " + tbNome.Text + " no Sistema", "Aviso do Sistema", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);

                        if (result == System.Windows.Forms.DialogResult.OK)
                        {
                            lancamento = mktNascimento.Value.ToShortDateString();
                            Conexao inserir = new Conexao();
                            inserir.insert("insert into funcionario (NOME,SEXO,ENDERECO,BAIRRO,COMPLEMENTO,CIDADE,ESTADO,CEP,TELEFONE,USUARIO,SENHA,DATANASCIMENTO) values ('" + tbNome.Text + "','" + cbSexo.Text + "','" + tbEndereco.Text + "','" + tbBairro.Text + "','" + tbComplemento.Text + "','" + tbCidade.Text + "','" + cbEstado.Text + "','" + mktCep.Text + "','" + tbTelefone.Text + "','" + tbUser.Text + "','" + tbSenha.Text + "','" + lancamento + "');");
                            MessageBox.Show("Funcionário Cadastrado com Sucesso", "Cadastro de Funcionários", MessageBoxButtons.OK);

                            atualiza();

                            pnVisualizar.Visible = false;
                            limpa();
                            botoes();
                            labelDesabilita();
                            textboxDesabilita();
                        }
                    }
                    else
                    {
                        MessageBox.Show("Os campos Usuário e Senha devem ter mais de 5 caracteres", "Cadastro de Funcionários", MessageBoxButtons.OK);

                    }

                }
                else
                {
                    MessageBox.Show("É obrigatório o preenchimento dos campos Usuário e Senha", "Cadastro de Funcionários", MessageBoxButtons.OK);

                }
                
            }

            else if (escolha == 2)
            {

                result = MessageBox.Show("Term certeza que deseja alterar o Funcionário " + tbNome.Text, "Aviso do Sistema", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);

                if (result == System.Windows.Forms.DialogResult.OK)
                {

                    lancamento = mktNascimento.Value.ToShortDateString();
                    Conexao inserir = new Conexao();
                    inserir.insert("update funcionario set NOME = '" + tbNome.Text + "',SEXO = '" + cbSexo.Text + "',ENDERECO= '" + tbEndereco.Text + "',BAIRRO= '" + tbBairro.Text + "',COMPLEMENTO= '" + tbComplemento.Text + "',CIDADE= '" + tbCidade.Text + "',ESTADO= '" + cbEstado.Text + "',CEP= '" + mktCep.Text + "',TELEFONE= '" + tbTelefone.Text + "',usuario= '" + tbUser.Text + "',senha= '" + tbSenha.Text + "',DATANASCIMENTO= '" + lancamento + "' where Codigo = '" + comboBox1.Text + "';");
                    MessageBox.Show("Dados Alterados com sucesso ", "Edição Completa", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    atualiza();

                    pnVisualizar.Visible = false;
                    limpa();
                    botoes();
                    labelDesabilita();
                    textboxDesabilita();
                }
            }
        }

        private void radioButton1_Click(object sender, EventArgs e)
        {
            tbPesquisa.Visible = true;
        }

        private void radioButton2_Click(object sender, EventArgs e)
        {
            tbPesquisa.Visible = true;
        }

        private void radioButton3_Click(object sender, EventArgs e)
        {
            tbPesquisa.Visible = false;
        }

        private void button3_Click(object sender, EventArgs e)
        {
            this.Hide();
        }

     
    }
}
